package com.biyao.service.model.product;

import com.biyao.schedulingentity.product.ProductionPlanIT;
import com.biyao.schedulingentity.product.TProductionPlanEntity;
import com.biyao.schedulingentity.product.TProductionPlanIEntity;

import java.util.List;
import java.util.Map;

public interface ProductionPlanIMessage {

    /**
     * 查询任务模版详细信息列
     * @param pageNum
     * @param pageSize
     * @return
     */
    List<Map> selectProductionI(int pageNum, int pageSize);

    /**
     * 添加任务模版详细信息
     * @param tProductionPlanEntity
     */
    void addProductionI(TProductionPlanIEntity tProductionPlanEntity);

    /**
     * 更新任务模版详细信息
     * @param tProductionPlanEntity
     */
    void updateProductionI(TProductionPlanIEntity tProductionPlanEntity);



    /**
     * 根据任务模版头部信息查询详细列表
     * @param id
     * @return
     */
    List<TProductionPlanIEntity> selectProductionByPlanId(Integer id);

    /**
     * 查询模版详细id
     * @param id
     * @return
     */
    TProductionPlanIEntity selectProductionIId(Integer id);

    /**
     * 删除任务详细信息
     * @param id
     */
    void deleteByProductId(Integer id);

    /**
     * 根据模版id启动自动模式
     * @param id
     * @return
     */
    Map selectProductionDetailAndJudgeIsImplementByProductId(Integer id);

    /**
     * 根据模版id启动自动模式，另外一台天车移动
     * @param id
     * @return
     */
    Map selectProductionDetailAndJudgeIsImplementByProductIdT2(Integer id);

    /**
     * 翻译模版
     * @param id
     * @return
     */
    List<ProductionPlanIT> selectProductTranslation(Integer id);

    List<ProductionPlanIT> selectProductionTranslationT2(Integer id);


    /**
     * 更新当前计划模版
     * @param tProductionPlanIEntity
     */
    void updateNowProductionPlanIPostion(TProductionPlanIEntity tProductionPlanIEntity);

    /**
     * 更新下一个模版
     * @param tProductionPlanIEntity
     */
    void updateNextProductionPlanIPostion(TProductionPlanIEntity tProductionPlanIEntity);

    /**
     * 重置生产计划模版
     * @param id
     */
    void resetProductionPlan(Integer id);
}
